<?php

if (!function_exists('emoji_to_str')) {

    /**
     * emoji_to_str
     * 
     * 去除字符串中的emoji表情
     * 避免微信昵称出现乱码等情况
     * @param type $text
     * @return type
     */
    function emoji_to_str($text) {
        $ret = json_decode(preg_replace("#(\\\ue[0-9a-f]{3}|\\\ud83e|\\\udd14)#ie", "", json_encode($text)));
        return $ret == '' ? '未知昵称' : $ret;
    }

}


if (!function_exists('getCurUrl')) {

    /**
     * 获取当前URL
     * @return string
     */
    function getCurUrl() {
        $url = 'http://';
        if (isset($_SERVER ['HTTPS']) && $_SERVER ['HTTPS'] == 'on') {
            $url = 'https://';
        }
        if ($_SERVER ['SERVER_PORT'] != '80') {
            $url .= $_SERVER ['HTTP_HOST'] . ':' . $_SERVER ['SERVER_PORT'] . $_SERVER ['REQUEST_URI'];
        } else {
            $url .= $_SERVER ['HTTP_HOST'] . $_SERVER ['REQUEST_URI'];
        }
        return $url;
    }

}


if (!function_exists('echoJson')) {

    /**
     * 输出Json
     * @param type $arr
     * @return boolean
     */
    function echoJson($arr) {
        header('Content-Type: application/json; charset=utf-8');
        if (strpos(PHP_VERSION, '5.3') > -1) {
            // php 5.3-
            echo json_encode($arr);
        } else {
            // php 5.4+
            echo json_encode($arr, JSON_UNESCAPED_UNICODE);
        }
        return true;
    }

}

if (!function_exists('echoText')) {

    /**
     * 输出Text
     * @param type $arr
     * @return boolean
     */
    function echoText($arr) {
        header('Content-Type: text/plain; charset=utf-8');
        if (strpos(PHP_VERSION, '5.3') > -1) {
            // php 5.3-
            echo json_encode($arr);
        } else {
            // php 5.4+
            echo json_encode($arr, JSON_UNESCAPED_UNICODE);
        }
        return true;
    }

}

if (!function_exists('echoMsg')) {

    /**
     * 输出JSON消息
     * @param type $code
     * @param type $msg
     * @return type
     */
    function echoMsg($code, $msg = '') {
        return echoJson(array(
            'ret_code' => $code,
            'ret_msg' => $msg
        ));
    }

}

if (!function_exists('echoSuccess')) {

    /**
     * 输出成功JSON消息
     */
    function echoSuccess() {
        echoMsg(0, 'success');
    }

}

if (!function_exists('echoFail')) {

    /**
     * 输出失败JSON消息
     */
    function echoFail() {
        echoMsg(-1, 'failed');
    }

}

if (!function_exists('toJson')) {

    /**
     * 数组转JSON
     * @param type $arr
     * @return type
     */
    function toJson($arr) {
        return print_r(json_encode($arr), true);
    }

}
